
import hashlib
import libnum

md5e='37693cfc748049e45d87b8c7d8b9aacd'
for e in range(1,100):
    md5e1=hashlib.md5()
    md5e1.update(str(e).encode())
    md5e1=md5e1.hexdigest()
    if md5e1==md5e:
        print(e)
        break
e=23

p = 64310413306776406422334034047152581900365687374336418863191177338901198608319
n=4197356622576696564490569060686240088884187113566430134461945130770906825187894394672841467350797015940721560434743086405821584185286177962353341322088523
c=3298176862697175389935722420143867000970906723110625484802850810634814647827572034913391972640399446415991848730984820839735665233943600223288991148186397

q=n//p
phi=(p-1)*(q-1)
d=libnum.invmod(e,phi)
m=pow(c,d,n)
print(m)
m=2976168736142380455841784134407431434784057911773423743751382131043957
m=libnum.n2s(m)
for key in range(1,11):
    flag=""
    for i in range(len(m)):
        flag+= chr((m[i])^key)
    if "flag" in flag:
        print(flag)
#flag{W31coM3_C0m3_7o_f4T3ctf}


